package kuang.springcloud.myrule;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// Ribbon官方文档建议 该类在主类的包的外面
@Configuration
public class KuangRule {
    // 注册Bean
    /*
    IRule:
            1. AvailabilityFilteringRule：会先过滤掉、跳闸即访问故障的服务，对剩下的服务进行轮询
            2. RoundRobinRule ： 轮询、默认
            3. RandomRule：随机
            4. RetryRule：会先按照轮询获取服务，如果服务获取失败，则会在指定的时间内重试。
     */

    // 使用随机策略
    @Bean
    public IRule myRule(){
        return new RandomRule();
    }
//    @Bean
//    public IRule myRuletest(){
//        return new kuangRandomRule();
//    }

}
